package com.smartfactory.sail.vo.cust;

import com.baomidou.mybatisplus.annotation.TableField;
import com.smartfactory.sail.entity.enums.CustCooperationStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 客户信息
 * </p>
 *
 * @author 王巨壁
 * @since 2019-07-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "保存客户请求对象", description = "保存客户请求对象")
public class AddCustReq implements Serializable {


    @ApiModelProperty(value = "客户编码")
    @NotBlank
    private String custCode;

    @ApiModelProperty(value = "企业名称")
    @NotBlank
    private String enterpriseName;

    @ApiModelProperty(value = "企业地址")
    @NotBlank
    private String addr;

    @ApiModelProperty(value = "联系方式")
    @NotBlank
    private String companyPhone;

    @ApiModelProperty(value = "客户类型1.订单客户,供应商3外发企业  具体参考constants表")
    @NotNull
    private Integer custType;

    @ApiModelProperty(value = "客户联系方式:key是联系方式value是信息内容")
    private List<Map<String, String>> contactsInfoMap;

    @ApiModelProperty(value = "对企业的评价")
    private String valuation;


    @ApiModelProperty(value = "首次合作时间")
    @TableField("firstCooperationTime")
    @NotBlank
    private String firstCooperationTime;


    @ApiModelProperty(value = "合作状态1.还未合作2长时间未合作3合作中")
    @NotNull
    private CustCooperationStatusEnum cooperationStatus;

}
